package com.xindacloud.sms.console.system.dto;

import com.xindacloud.sms.console.system.dto.common.PageDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;
import java.util.Set;

@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "SmsSubmissionRecordDTO", description = "SMS提交记录DTO")
public class SmsSubmissionRecordDTO extends PageDTO implements Serializable {
    /**
     *
     */
    private static final long serialVersionUID = 8210530481069631693L;
    @ApiModelProperty(value = "发送时间", name = "submitTime", notes = "发送时间", example = "2019-10-30 10:35:49", required = false)
    private String submitTime;
    @ApiModelProperty(value = "发送者", name = "sendFrom", notes = "发送者", example = "GW0", required = false)
    private String sendFrom;
    @ApiModelProperty(value = "接收者", name = "sendTo", notes = "接收者", example = "8615017935045", required = false)
    private String sendTo;
    @ApiModelProperty(value = "网络", name = "network", notes = "网络", example = "46011", required = false)
    private String network;
    @ApiModelProperty(value = "发送状态", name = "submitStatusCode", notes = "发送状态", example = "0", required = false)
    private String submitStatusCode;

    @ApiModelProperty(value = "用户Id", name = "userId", notes = "用户Id", example = "1", required = false)
    private Integer userId;
    @ApiModelProperty(value = "方向", name = "direction", notes = "方向", example = "", required = false)
    private String direction;
    @ApiModelProperty(value = "时间周期", name = "duration", notes = "时间周期", example = "", required = false)
    private String duration;
    @ApiModelProperty(value = "代理商账号", name = "agentId", notes = "代理商账号", example = "", required = false)
    private String agentId;

    @ApiModelProperty(value = "开始时间", name = "stime", notes = "开始时间", example = "", required = false)
    private Date stime;
    @ApiModelProperty(value = "结束时间", name = "etime", notes = "结束时间", example = "", required = false)
    private Date etime;
    @ApiModelProperty(value = "用户Ids", name = "userIds", notes = "用户Ids", example = "1", required = false)
    private Set<Integer> userIds;

    @ApiModelProperty(value = "接收者", name = "groupbyMethod", notes = "接收者", example = "8615017935045", required = false)
    private String groupbyMethod;

    @ApiModelProperty(value = "角色等级", name = "roleLevel", hidden = true)
    private Integer roleLevel;

}
